✒️ 2025-05-21 10:13 내용 수정
- 파일 권한
- 읽기 권한 :
less, cat 등의 명령어로 표시 가능 여부
- 쓰기 권한 :
vi나 gedit과 같은 에디터로 파일을 수정할 수 있는지 여부
- 실행 권한 : 명령어로 파일을 실행할 수 있는지 여부
- 디렉터리 권한
- 읽기 권한 : 디렉터리 참조 가능 여부
- 쓰기 권한 : 디렉터리 내부의 파일이나 디렉터리를 작성할 수 있는지 여부
- 실행 권한 : 해당 디렉터리로 이동 가능 여부
- 일반적인 디렉터리 권한은 755이다.
특수 접근 권한
| 종류 |
설명 |
setuid(4) |
해당 파일을 실행하면 파일 실행자의 권한이 아닌 파일 소유자의 권한으로 파일 실행 |
|
파일을 실행하는 순간에만 소유자의 권한을 빌려오는 것 |
|
설정 시 ls -l에서 사용자 권한에 x 대신 s로 표기됨 |
setgid(2) |
해당 파일을 실행하면 파일 실행자의 권한이 아닌 파일 소유 그룹의 권한으로 파일 실행 |
|
설정 시 ls -l에서 그룹 권한에 x 대신 s로 표기됨 |
sticky bit(1) |
디렉터리에 설정. 스티키 비트 설정 시 해당 디렉터리는 누구나 파일 생성 가능 |
|
파일이나 디렉터리 생성 시 해당 파일과 디렉터리는 소유자/관리자 외의 사용자들이 변경할 수 없음 |
|
설정 시 ls -l의 다른 사용자 권한에 x 대신 t로 표기됨 |
파일 및 디렉터리 권한 변경
| 명령어 |
옵션 |
설명 |
chmod 권한 파일/디렉터리 |
|
권한 부여 |
|
r |
읽기 권한, bit 4 |
|
w |
쓰기 권한, bit 2 |
|
x |
실행 권한, bit 1 ,스크립트 파일을 생성한 후에는 반드시 실행 권한을 부여해야 한다. |
|
+ or - |
+는 권한 추가, -는 권한 해제 |
umask |
|
사용자 파일 생성 마스크를 모드 확인 |
umask 권한 |
|
사용자 파일 생성 마스크를 모드를 권한으로 설정 |
|
-S |
현재 값을 심볼릭으로 표시 |
chmod 작성법
- 문자 표현식
[ugoa] : u(user, 파일 소유자), g(group), o(others), a(all)
rwxs : r(read), w(write), x(execute), s(setuid, setgid, sticky bit)
chmod [ugoa][+-][rwxs] 파일이름
- 숫자 표현식
- 숫자는 순서대로 user권한(소유자), group권한, 다른 사용자(others)의 권한을 나타낸다.
- 3자리 수로 작성 시 특수 권한은 0으로 설정되며, 4자리 수로 작성 시 맨 앞자리는 특수 권한이다.
- ex) 777 : 소유자에 모든 권한, group에 모든 권한, 다른 사용자에게 모든 권한을 준다.
- ex) 700 : 소유자에게 모든 권한, group과 다른 사용자에겐 아무 권한을 주지 않는다.
chmod 0777 파일이름
ls -l로 퍼미션을 확인할 수 있다.
- 왼쪽에서부터 사용자(rw), 그룹(rw), 다른 사용자(r)의 권한이다.

umask 작성법
- 새로 생성된 파일의 파일 권한 설정을 제어하는 마스크 설정을 결정
- umask 명령어에서 소유자, 그룹, 다른 사용자에 해당하는 숫자를 지정하면 아래 표에서 마스크 이진값->마스크의 부정->논리 AND로 변환되어 해당 권한으로 설정된다.
| 명령어 8진법 숫자 |
마스크의 이진값 |
마스크의 부정 |
논리 AND |
| 0 |
000 |
111 |
rwx |
| 1 |
001 |
110 |
rw- |
| 2 |
010 |
101 |
r-x |
| 3 |
011 |
100 |
r-- |
| 4 |
100 |
011 |
-wx |
| 5 |
101 |
010 |
-w- |
| 6 |
110 |
001 |
--x |
| 7 |
111 |
000 |
--- |
ex) umask 0022
| 대상 |
숫자 |
마스크 이진값 |
마스크 부정 |
논리 AND |
| 사용자 |
0 |
000 |
111 |
rwx |
| 그룹 |
2 |
010 |
101 |
r-x |
| 다른 사용자 |
2 |
010 |
101 |
r-x |

ex) umask 0022
| 대상 |
숫자 |
변환 |
논리 AND |
| 사용자 |
0 |
7 - 0 = 7 |
rwx (4+2+1) |
| 그룹 |
2 |
7 - 2 = 5 |
r-x (4+1) |
| 다른 사용자 |
2 |
7 - 2 = 5 |
r-x (4+1) |
소유자 변경
| 명령어 |
옵션 |
설명 |
# chown 사용자 파일/디렉터리 |
|
파일이나 디렉터리 소유자를 변경 |
|
-R |
하위 디렉터리의 소유자도 모두 변경 |
# chgrp 사용자:그룹 파일/디렉터리 |
|
파일이나 디렉터리 소속 그룹을 그룹으로 변경(사용자가 해당 그룹에 속해있을 때만 가능) |
|
-R |
하위 디렉터리의 소유자도 모두 변경 |